package com.sky.controller.user;

import com.sky.dto.ShoppingCartDTO;
import com.sky.entity.ShoppingCart;
import com.sky.result.Result;
import com.sky.service.ShoppingCartService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author: ggm
 * @data 2024年12月10日 20:36
 */

@RestController
@RequestMapping("/user/shoppingCart")
@Slf4j
public class ShoppingCartController {
    @Autowired
    private ShoppingCartService shoppingCartService;
     /**
      * @Author: ggm
      * @date:  2024/12/10
      * 添加购物车
      */
     @PostMapping("/add")
     public Result addShoppingCart(@RequestBody ShoppingCartDTO shoppingCartDTO){
         log.info("添加购物车{}",shoppingCartDTO);
         shoppingCartService.add(shoppingCartDTO);
         return Result.success();

     }
      /**
       * @Author: ggm
       * @date:  2024/12/11
       *查看购物车
       */
      @GetMapping("/list")
      public Result<List<ShoppingCart>> getShoppingCart(){
          log.info("查看购物车");
          List<ShoppingCart> shoppingCartList = shoppingCartService.showShoppingCart();
          return Result.success(shoppingCartList);

      }
       /**
        * @Author: ggm
        * @date:  2024/12/11
        * 清空购物车
        */
       @DeleteMapping("/clean")
       public Result cleanShoppingCart(){
           log.info("清空购物车");
           shoppingCartService.clean();
           return Result.success();
       }
        /**
         * @Author: ggm
         * @date:  2024/12/18
         * 减少购物车商品数量
         */
        @PostMapping("/sub")
        public Result sub(@RequestBody ShoppingCartDTO shoppingCartDTO){
            log.info("减少购物车商品数量{}",shoppingCartDTO);
            shoppingCartService.sub(shoppingCartDTO);
            return Result.success();

        }







}
